
import os
import glob

import re



def ProcessAllFiles(dir_path):
    print("dir_path = " + dir_path)
    # 使用glob模块匹配所有txt文件
    txt_files = glob.glob(os.path.join(dir_path, '*.txt'))
    
    # 打印所有txt文件的文件名
    for file in txt_files:
        print(file)
        ProcessOneVocabularyFile(file)

def ProcessOneVocabularyFile(strInputFilePath):

    # 获取绝对路径
    strAbsolutePath = os.path.dirname(strInputFilePath)
    # 获取文件名
    strInputFilename = os.path.basename(strInputFilePath)

    # 输出目录
    strOutputDir = strAbsolutePath + "\Output"
    print("strOutputDir = " + strOutputDir)

    # 如果输出目录不存在，则创建它
    if not os.path.exists(strOutputDir):
        os.makedirs(strOutputDir)

    # 输出文件的全路径
    strOutputFilePath = strOutputDir + "\Result_" + strInputFilename

    pattern = r'^\d+,'

    '''
    可能有点格式：
        49, Asia Pacific    英译中
        57, attribute  [ə'tribju:t]  英译中
        58, audit    英译中
    '''
    # 打开输入文件和输出文件
    with open(strInputFilePath, 'r', encoding="utf-8") as input_file, open(strOutputFilePath, 'w', encoding="utf-8") as output_file:
        # 逐行读取输入文件
        for line in input_file:
            # 检查每一行是否符合要求
            if re.match(pattern, line):
                # 如果符合要求，将该行写入输出文件
                InfoList = line.split(',')
                # 取逗号后的部分
                info = InfoList[1]
                # 单个单词
                if ('[' in info):
                    wordList = info.split('[')
                    word = wordList[0]
                else:
                    # 删除最后一个空格以及他后面的字符串
                    word = info.rsplit(' ', 1)[0]

                # 删除字符串前后的所有空格
                word = word.strip() + '\n'
                output_file.write(word)

# Main
if __name__ == '__main__':
# 获取当前目录
    strCurrentPath = os.path.abspath(__file__)
    strCurrentDir = os.path.dirname(strCurrentPath)
    ProcessAllFiles(strCurrentDir)